function    A202()
format long;
% 常用分布列及其期望、方差

% 离散均匀分布 discrete and and uniform distribution
% 离散均匀分布初始化
unid_N=10;                                          % 初始化：离散点数unid_N。
unid_x=1 : 10;                                       % 定义unid_x
% 离散均匀分布计算
unidpdf_y = unidpdf(unid_x, unid_N);                % 使用unidpdf进行离散均匀密度分布计算
unidcdf_y = unidcdf(unid_x, unid_N);                % 使用unidcdf进行离散均匀分布计算
subplot(2,3,1);
%subplot(2,3,1); 表示创建了一个2行3列的子图网格
plot(unid_x, unidpdf_y, 'rs', unid_x, unidcdf_y, 'b*');%用红色方块点绘制离散均匀密度分布图
                                                        %用蓝色星型点绘制连续均匀分布图
legend('离散均匀密度分布图', '连续均匀分布图', 'FontSize', 10);
unid_str={['参数取值：'],  ['N=', num2str(unid_N)]};
text(unid_x(1)+(unid_x(10)-unid_x(1))*7/10, unidcdf_y(1)+(unidcdf_y(10)-unidcdf_y(1))*4/10, unid_str, 'FontSize', 10);    % 显示可调关键参数值：Norm_h
title('离散均匀分布', 'FontSize', 10);

% 二项分布
% 二项分布初始化
bino_min=0; bino_max=10; bino_p=0.6;                                  % 初始化：最小值binDistr_min， 最大值binDistr_max，参数binDistr_p。
bino_k=bino_min:1:bino_max;                                           % binDistr_k定义在binDistr_min，...，binDistr_max数据列范围
bino_y=binopdf(bino_k,bino_max-bino_min, bino_p);                     % 使用binopdf计算二项密度分布
%bino_k试验成功的次数
%bino_max-bino_min实验的总次数
%bino_p单次试验成功的总概率
binoc_y=binocdf(bino_k,bino_max-bino_min, bino_p);                    % 使用binocdf计算二项分布
%bino_k试验成功的次数
%bino_max-bino_min实验的总次数
%bino_p单次试验成功的总概率
% 二项分布时的可视化表示
subplot(2,3,2);
plot(bino_k, bino_y, 'rs', bino_k, binoc_y, 'b*');
legend('二项密度分布列图', '二项分布列图', 'FontSize', 10);
binDistr_str={['参数取值：'], ['p=', num2str(bino_p)], ['期望\mu=', num2str(bino_max*bino_p)], ['方差\sigma^2=', num2str(bino_max*bino_p*(1-bino_p))]};
text(bino_min+(bino_max-bino_min)*7/10, 6/10, binDistr_str, 'FontSize', 10);        % 显示可调关键参数值：binDistr_p
title('二式分布列', 'FontSize', 10);

% 负二项分布
% 负二项分布初始化
nbino_r=3; nbino_n=10; nbino_p=0.5;             % 初始化：最小值nbino_r，点数nbino_n， 最大值nbino_max，参数nbino_p。
nbino_k=0:1:nbino_n;                                             % nbino_k定义在nbino_r，...，nbino_max数据列范围
nbino_y=nbinpdf(nbino_k, nbino_r, nbino_p);                       % 计算负二项密度分布
%nbino_k 用于存储成功次数的范围
%nbino_r成功之前的失败次数
%nbino_p单次试验成功的概率
nbinoc_y=nbincdf(nbino_k, nbino_r, nbino_p);                      % 计算负二项分布
%nbino_k 用于存储成功次数的范围
%nbino_r成功之前的失败次数
%nbino_p单次试验成功的概率
% 负二项分布时的可视化表示
subplot(2,3,3);
plot(nbino_k, nbino_y, 'rs', nbino_k, nbinoc_y, 'b*');
legend('负二项密度分布列图', '负二项分布列图', 'FontSize', 10);
nbino_str={['参数取值：'], ['p=', num2str(nbino_p)], ['期望\mu=', num2str(nbino_r/nbino_p)], ['方差\sigma^2=', num2str(nbino_r*(1-nbino_p)/nbino_p^2)]};
text(nbino_r+nbino_n*2/10, 6/10, nbino_str, 'FontSize', 10);          % 显示可调关键参数值：NagbinDistr_p
title('负二项分布列', 'FontSize', 10);

% Poisson分布
% Poisson分布初始化
Poisson_n=15; Poisson_min=0; Poisson_max=Poisson_min+Poisson_n; Poisson_lambda=5;    % 初始化：最小值Poisson_min， 最大值Poisson_max，参数个数Poisson_n，参数Poisson_l。
Poisson_k=Poisson_min:Poisson_max;                                                   % Poisson定义在Poisson_left，...，Poisson_max数据列范围
Poisson_y=poisspdf(Poisson_k,Poisson_lambda);                                        % 计算Poisson密度分布
%Poisson_k成功次数
%Poisson_lambda表示平均事件率或期望的事件数
Poissonc_y=poisscdf(Poisson_k,Poisson_lambda);                                        % 计算Poisson分布
%Poisson_k成功次数
%Poisson_lambda表示平均事件率或期望的事件数
% Poisson分布时的可视化表示
subplot(2,3,4);
plot(Poisson_k, Poisson_y, 'rs', Poisson_k, Poissonc_y, 'b*');
legend('Poisson密度分布列图', 'Poisson分布列图', 'FontSize', 10);
Poisson_str={['参数取值：'], ['\lambda=', num2str(Poisson_lambda)], ['期望\mu=', num2str(Poisson_lambda)], ['方差\sigma^2=',num2str(Poisson_lambda)]};
text(Poisson_min+(Poisson_max-Poisson_min)*6/10, min(Poissonc_y)+6/10, Poisson_str, 'FontSize', 10);               % 显示可调关键参数值：Poisson_l
title('Poisson分布列', 'FontSize', 10);

% 几何分布
% 几何分布初始化
geo_n=9; geo_p=0.6; geo_min=0; geo_max=geo_n;      % 初始化：最小值geo_min， 最大值geo_max，参数geo_p。
geo_k=geo_min:(geo_max-geo_min)/geo_n:geo_max     % geo_k定义在geo_min，...，geo_max数据列范围
geo_y=geopdf(geo_k,geo_p);                         % 几何密度分布计算
%geo_k成功之前的失败次数
%geo_p单次试验成功的概率
geoc_y=geocdf(geo_k,geo_p);                        % 几何分布计算
%geo_k成功之前的失败次数
%geo_p单次试验成功的概率

% 几何分布的可视化表示
subplot(2,3,5);
plot(geo_k, geo_y, 'rs', geo_k, geoc_y, 'b*');
legend('几何密度分布列图', '几何分布列图', 'FontSize', 10);
xlim([geo_min, geo_max]);
geo_str={['参数取值：'], ['p=', num2str(geo_p)], ['期望\mu=', num2str(1/geo_p)], ['方差\sigma^2=', num2str((1-geo_p)/geo_p^2)]};
text(geo_min+(geo_max-geo_min)*6/10, min(geo_y)+6/10, geo_str, 'FontSize', 10);  % 显示可调关键参数值：geo_p。
title('几何分布列', 'FontSize', 10);

% 超几何分布
% 超几何分布初始化
hyge_min = 0; hyge_max = 20;                                         % 初始化：最小值hyge_min， 最大值hyge_max，点数hyge_。
hyge_k = hyge_min : hyge_max;                                        % hyge_k定义在hyge_min，...，hyge_max数据列范围
hyge_M =500; hyge_K = 50; hyge_N = 100;                              % 初始化：样品规模hyge_M，样品所需特征的项目数hyge_K，抽取样本数hyge_N
hygepdf_y = hygepdf(hyge_k, hyge_M, hyge_K, hyge_N);                 % 超几何密度分布计算
%hyge_k成功项目的数量的范围
%hyge_M总体中项目的总数
%hyge_K总体中成功项目的数量
%hyge_N抽取的样本数
hygecdf_y = hygecdf(hyge_k, hyge_M, hyge_K, hyge_N);                 % 超几何分布计算
% 超几何分布的可视化表示
subplot(2,3,6);
plot(hyge_k, hygepdf_y, 'rs', hyge_k, hygecdf_y, 'b*');
legend('超几何密度分布列图', '超几何分布列图', 'FontSize', 10);
xlim([hyge_min, hyge_max]);
geo_str={['参数取值：'], ['M=', num2str(hyge_M)],  ['K=', num2str(hyge_K)],  ['N=', num2str(hyge_N)], ['期望\mu=', num2str(hyge_N*hyge_K/hyge_M)], ['方差\sigma^2=', num2str(hyge_N*hyge_K*(hyge_M-hyge_K)*(hyge_M-hyge_N)/(hyge_M^2*(hyge_M-1)))]};
text(hyge_min+(hyge_max-hyge_min)*6/10, min(hygepdf_y)+6/10, geo_str, 'FontSize', 10);  % 显示可调关键参数值：geo_p。
title('超几何分布列', 'FontSize', 10);

% 一点分布
% One_x=0; One_y=1;                      % 一点分布值
% 一点分布时的可视化表示
% subplot(2,3,1);
% plot(One_x, One_y,'rs');
% One_str={['     参数取值：'], ['     x=', num2str(One_x)], ['     期望\mu=',num2str(One_x)], ['     方差\sigma^2=0']};
% text(One_x, One_y, One_str, 'FontSize', 10);                            % 显示可调关键参数值：Norm_x
% title('一点分布列', 'FontSize', 10);

% 两点分布
% Two_k=[0 1]; Two_p=0.3; Two_q=1-Two_p; Two_y=[Two_p Two_q];    % 两点分布值
% Euler分布时的可视化表示
% subplot(2,3,6);
% plot(Two_k, Two_y, 'rs');
% Two_str={['参数取值：'], ['p=', num2str(Two_p), ', q=', num2str(Two_q)], ['期望\mu=', num2str(Two_p)], ['方差\sigma^2=', num2str(Two_p*Two_q)]};
% text((Two_k(2)+Two_k(1))/2, (Two_q+Two_p)/2, Two_str, 'FontSize', 10);         % 显示可调关键参数值：Two_p， Two_q
% title('两点（Bernoulli）分布列', 'FontSize', 10);